import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.LinkedList;
import java.util.ListIterator;

import javax.swing.BorderFactory;
import javax.swing.JButton;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.SwingUtilities;
import javax.swing.border.LineBorder;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;

/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
public class JFrameCargarNotas extends javax.swing.JDialog {
	private JPanel jPanelCargarNotas;
	private JScrollPane jScrollPane1;
	private JTable jTableEstudiantesEvaluados;
	private JButton jButtonSalir7;
	private JLabel jLabelListado;
	private JLabel jLabelCargarNotas;
	private JButton jButtonEvaluarEstudiantes;
	private JButton jButtonPresentarExamen;
	private Seccion seccion;
	private Estudiante e;
	private Profesor pro;
	LinkedList<Estudiante> LisEstu2;
	private ModeloDatosJTable modelo;
	
	public JFrameCargarNotas(JFrame frame, Seccion secc) {
		super(frame);
		seccion = secc;
		LisEstu2 = seccion.listarEstudiantesCedula();
		pro = seccion.getProf();
		initGUI();
	}
	
	private void initGUI() {
		try {
			setModal(true);
			{
				getContentPane().setLayout(null);
				this.setTitle("Evaluar Estudiantes");
				{
					jPanelCargarNotas = new JPanel();
					getContentPane().add(jPanelCargarNotas);
					jPanelCargarNotas.setBounds(22, 12, 668, 359);
					jPanelCargarNotas.setBorder(new LineBorder(new java.awt.Color(0,0,0), 1, false));
					jPanelCargarNotas.setLayout(null);
					{
						jButtonPresentarExamen = new JButton();
						jPanelCargarNotas.add(jButtonPresentarExamen);
						jButtonPresentarExamen.setText("Presentar Examen");
						jButtonPresentarExamen.setBounds(40, 48, 182, 23);
						jButtonPresentarExamen.setFont(new java.awt.Font("Comic Sans MS",3,14));
						jButtonPresentarExamen.addActionListener(new ActionListener() {
							public void actionPerformed(ActionEvent evt) {
								jButtonPresentarExamenActionPerformed(evt);								
							}
						});
					}
					{
						jButtonEvaluarEstudiantes = new JButton();
						jPanelCargarNotas.add(jButtonEvaluarEstudiantes);
						jButtonEvaluarEstudiantes.setText("Evaluar Estudiantes");
						jButtonEvaluarEstudiantes.setBounds(40, 86, 182, 23);
						jButtonEvaluarEstudiantes.setFont(new java.awt.Font("Comic Sans MS",3,14));
						jButtonEvaluarEstudiantes.setEnabled(false);
						jButtonEvaluarEstudiantes.addActionListener(new ActionListener() {
							public void actionPerformed(ActionEvent evt) {
								jButtonEvaluarEstudiantesActionPerformed(evt);								
							}
						});
					}
					{
						jLabelCargarNotas = new JLabel();
						jPanelCargarNotas.add(jLabelCargarNotas);
						jLabelCargarNotas.setText("Cargar Notas de los Estudiantes");
						jLabelCargarNotas.setBounds(255, 18, 246, 16);
						jLabelCargarNotas.setFont(new java.awt.Font("Comic Sans MS",3,14));
					}
					{
						jLabelListado = new JLabel();
						jPanelCargarNotas.add(jLabelListado);
						jLabelListado.setText("Listado de estudiantes con sus notas :");
						jLabelListado.setBounds(40, 136, 324, 16);
						jLabelListado.setFont(new java.awt.Font("Comic Sans MS",3,14));
					}
					{
						jScrollPane1 = new JScrollPane();
						jPanelCargarNotas.add(jScrollPane1);
						jScrollPane1.setBounds(40, 161, 584, 103);
						jScrollPane1.setFont(new java.awt.Font("Comic Sans MS",3,14));
						{							
							jTableEstudiantesEvaluados = new JTable();
							jScrollPane1.setViewportView(jTableEstudiantesEvaluados);
							modelo = new ModeloDatosJTable(seccion);
							jTableEstudiantesEvaluados.setModel(modelo);
							jTableEstudiantesEvaluados.setBounds(40, 169, 584, 85);
						}
					}
					{
						jButtonSalir7 = new JButton();
						jPanelCargarNotas.add(jButtonSalir7);
						jButtonSalir7.setText("Salir");
						jButtonSalir7.setBounds(310, 305, 107, 23);
						jButtonSalir7.setFont(new java.awt.Font("Comic Sans MS",3,14));
						jButtonSalir7.addActionListener(new ActionListener() {
							public void actionPerformed(ActionEvent evt) {
								jButtonSalir7ActionPerformed(evt);								
							}
						});
					}
				}
			}
			this.setSize(729, 438);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	protected void jButtonSalir7ActionPerformed(ActionEvent evt) {
		this.dispose();
		
	}

	private void jButtonEvaluarEstudiantesActionPerformed(ActionEvent evt) {
		ListIterator<Estudiante> it1 = LisEstu2.listIterator();
		while (it1.hasNext()) 
		{
		 Estudiante e2 = it1.next(); 
		 pro.Evaluar_estudiante(e2);
	    }
		
		modelo = new ModeloDatosJTable(seccion);
		jTableEstudiantesEvaluados.setModel(modelo);
	}

	private void jButtonPresentarExamenActionPerformed(ActionEvent evt) {
		ListIterator<Estudiante> it = LisEstu2.listIterator();
		while (it.hasNext()) 
		{
	    Estudiante e1 = it.next(); 
		e1.Presentar_Evaluaciones();
		
	    }
		jButtonEvaluarEstudiantes.setEnabled(true);
}
}